import javax.swing.*;
import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("请输入年龄：");
        int age = scan.nextInt();                       //输入整型
        System.out.println(age);

        scan.nextLine();                                //可以避免因输入“年龄”按下回车键后 “名字”被回车占用 导致输入失败

        System.out.println("请输入名字：");
        String name = scan.nextLine();                  //输入字符串
        System.out.println(name);

        System.out.println("请输入工资：");
        float money = scan.nextFloat();                 //输入浮点型
        System.out.println(money);

        scan.close();                                   //资源释放
    }

    public static void main25(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("请输入年龄：");
        int age = scan.nextInt();                       //输入整型
        System.out.println(age);

        System.out.println("请输入名字：");
        //String name = scan.nextLine();                //输入字符串
        String name = scan.next();                      //也可以输入字符串，但是遇到空格，读取结束
        System.out.println(name);

        System.out.println("请输入工资：");
        float money = scan.nextFloat();                 //输入浮点型
        System.out.println(money);

        scan.close();                                   //资源释放
    }

    public static void main24(String[] args) {        //do while先执行后判断，至少执行一次
        int i = 1;
        do{
            System.out.println(i);
            i++;
        }while (i <= 10);
    }

    public static void main23(String[] args) {        //for循环嵌套实现1~5的阶乘之和
        int sum = 0;
        for (int k = 1; k <= 5 ; k++) {
            int ret = 1;
            for (int i = 1; i <= k; i++) {
                ret *= i;
            }
            sum += ret;
        }
        System.out.println(sum);
    }

    public static void main22(String[] args) {      //for的死循环
        for ( ; ; ){
            System.out.println(888);
        }
    }

    public static void main21(String[] args) {      //for快捷键测试，for -> fori，调试测试
        for (int i = 0; i <= 20; i++) {
            System.out.print(i + " ");
        }
    }

    public static void main20(String[] args) {
        for (int i = 1; i <= 10; i++){
            System.out.print(i + " ");
        }
    }

    public static void main19(String[] args) {  //求1~100中既能被3整除又能被6整除的所有数字，使用continue
        int i = 1;
        while (i <= 100){
//            if (i % 3 != 0 || i % 6 != 0){    //1
//                i++;
//                continue;
//            }
            if (i % 6 != 0){                    //2
                i++;
                continue;
            }
            System.out.print(i + " ");
            i++;
        }
    }

    public static void main18(String[] args) {  //求1~100中既能被3整除又能被6整除的所有数字
        int i = 1;
        while (i <= 100){
            if (i % 3 == 0 && i % 6 == 0){
                System.out.print(i + " ");
            }
            i++;
        }
    }

    public static void main17(String[] args) {          //调试测试continue的作用——结束本次循环
        int i = 1;
        while (i <= 10){
            if (i == 3){
                i++;                                  //无此，死循环
                continue;
            }
            System.out.print(i + " ");
            i++;
        }
    }

    public static void main16(String[] args) {        //找到100~200中第一个能被3整除的数字
        int n = 100;
        while (n <= 200){
            if (n % 3 == 0){
                System.out.println("100~200中第一个能被3整除的数字是：" + n);
                break;
            }
            n++;
        }
    }

    public static void main15(String[] args) {        //调试测试break的作用——结束整个循环
        int i = 1;
        while (i <= 10){
            System.out.print(i + " ");
            if (i == 1){
                break;
            }
            i++;
        }
    }

    public static void main14(String[] args) {        //求1~5的阶乘之和
        int sum = 0;                                  //思路：先求n的阶乘，再将其嵌入产生1~n的数的循环里
        int k = 1;
        while (k <= 5){
            int ret = 1;
            int i = 1;
            while (i <= k){
                ret *= i;
                i++;
            }
            sum += ret;
            k++;
        }
        System.out.println("1~5的阶乘之和：" + sum);
    }

    public static void main13(String[] args) {        //计算5的阶乘
        int ret = 1;
        int i = 1;
        while (i <= 5){
            ret *= i;
            i++;
        }
        System.out.println("5的阶乘是：" + ret);
    }

    public static void main12(String[] args) {        //计算1~100的和
        int sum = 0;
//        for (int i = 1; i <= 100; i++){
//            sum += i;
//        }
        int i = 1;
        while (i <= 100){
            sum += i;
            i++;
        }
        System.out.println("1~100的和是：" + sum);
    }

    public static void main11(String[] args) {        //测试调试
        int a = 1;
        while (a <= 3){
            System.out.println(a);
            a++;
        }
        System.out.println("haha");
    }

    public static void main10(String[] args) {

        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();                     //不能做switch参数的数据类型有：long/float/double/boolean

        switch (a * 2){                             //不能表达复杂的条件，如布尔表达式
            case 1:
                System.out.println("1");
                //break;                            //测试break的作用
            case 2:
                System.out.println("2");
                break;
            default:
                System.out.println("输入错误，请重新输入！");
                break;
        }
    }

    public static void main9(String[] args) {

        Scanner scan = new Scanner(System.in);
        int year = scan.nextInt();

        if (year % 100 == 0) {
            if (year % 400 == 0) {
                System.out.println(year + " 是闰年，是世纪闰年");
            } else {
                System.out.println(year + " 不是闰年");
            }
        } else {
            if (year % 4 == 0) {
                System.out.println(year + " 是闰年，是普通闰年");
            } else {
                System.out.println(year + " 不是闰年");
            }
        }
    }


    public static void main8(String[] args) {      //判断一个数是奇数还是偶数

        Scanner sca = new Scanner(System.in);
        int a = sca.nextInt();

        // int a = 78;
        if (a % 2 == 0)
            System.out.println(a + "是偶数");
        else
            System.out.println(a + "是奇数");
    }

    public static void main7(String[] args) {
        int a = 10;
        if (a != 3){                            //if语句括号中的表达式必须为布尔表达式
            System.out.println(a);
        }

//        if (a){                               //报错
//
//        }

        if (a > 10){
            System.out.println(a);
        }
        else{
            System.out.println(111);            //选择语句
        }

        if (a > 10){
            System.out.println(a);
        }
        else if(a == 1){
            System.out.println(111);            //多分支语句
        }
        else{
            System.out.println("嘿嘿");
        }
    }

    public static void main6(String[] args) {
        System.out.println(4);
        System.out.println(8);
        System.out.println(7);                  //顺序结构
    }

    public static void main5(String[] args) {
        int a = 15;
        int b = 20;
        //int c = a > b ? a : 1.5;              //式2和式3应为同类型
     }

    public static void main4(String[] args) {
        boolean flag = true == true ? true == false ? false : true :true;
        System.out.println(flag);

        //boolean flag = (true == true) ? (true == false ? false : true) : true;
        //                式1              式2                      输出      式3
    }

    public static void main3(String[] args) {
        int a = 288;
        int b = 329;
        int max = a > b ? a : b;                //条件运算符
        System.out.println(max);

        //a > b ? a : b;                        //单独写会报错，必须接收返回值
    }

    public static void main2(String[] args) {
        double a = 1.5;
        //System.out.println(a >>> 1);          //移位运算只能在整数之中使用
    }

    public static void main1(String[] args) {
        int a = -1;
        System.out.println(a >>> 1);            //无符号右移 左边统一补0
    }
}
